既然已经过了一遍马可威茨的均值方差模型,那么就可以继续接着再谈一遍Black-Litterman模型了。
前面说到利用历史数据去估计期望收益率向量$E(R)$和协方差阵$\hat{\Sigma}$。这种利用历史数据对金融资产做估计是备受诟病的,因为没有用到当前的信息;并且随着资产个数的增加,协方差阵的维度也增加,估计的参数越来越多,由此估计的协方差阵是不稳健的,进一步地,由此计算的投资组合效果往往不好。
1992年,在高盛(Golden Sachs)工作的 Fischer 和 Robert Litterman 对全球债券投资组合研究时发现,当对德国债券预期收益率做0.1%的修正后,该类资产的投资比例竟然由原来的10%提高至55%。这个发现得出了马可威茨模型的另一个重大缺陷,资产组合的最优权重对输入参数过于敏感。
Black-Litterman模型的核心思想是,将投资者对大类资产的观点(主观观点)与市场均衡收益(先验预期收益率,用样本均值估计),从而形成新的预期收益率(后验预期收益率)。
详细模型可以参见-《Multi-style rotation strategies using augmented Black Litterman factor model》。
至于什么是观点矩阵,之前我一直把它当成了投资者对一个投资组合的收益率看法,这样理解也不能说是错的,但是我找到了更贴切的理解。
比如现在市场上有4种资产A,B,C,D,投资者根据自己的经验和分析,形成以下判断:
资产A的收益率为15%,信心水平为80%
资产B比资产D的收益高5%,信心水平为75
资产B和C比资产A高6%,信心水平为90%
据此,可以写出反映投资人主观观点的矩阵
看法的收益向量因此可以写为
信心水平向量可以写为
信心水平向量也属于随机变量,它的协方差矩阵即为$\Omega $。
R语言实现
这里使用BLCOP
包,详见官方文档,步骤如下:
- 使用历史数据估计收益率的协方差阵
- 确定先验预期收益率,也可以理解为市场预期的收益率向量
- 融合投资者的个人观点,即确定$P,Q,\Omega$,在BLCOP包中,可以使用BLview()函数构造观点
|
|
- 修正后验收益
|
|
- 投资组合优化
|
|
其中,result是BLResult对象,constraints可以确定是否有卖空机制,optimizer表示有效资产组合的类型,optimizer = “minriskPortfolio”表示全局最小方差投资组合。